package com.wxcms.service;

import java.util.Collection;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.springframework.transaction.annotation.Transactional;

import com.alibaba.fastjson.JSONObject;
import com.wxcms.domain.DodemWxCpUser;
import com.wxcms.domain.WxCpMyConfigStorage;
import com.wxcms.service.impl.DodemWxServer;

import me.chanjar.weixin.cp.api.WxCpMessageRouter;
import me.chanjar.weixin.cp.bean.WxCpUser;

@Transactional(value = "config", rollbackFor = Exception.class)  
public interface MyWxCpService {
	
 	public Collection<DodemWxServer> getWxCpServices();
	
//	public WxCpConfigStorage getConfig();
	
//	public  WxCpUser getUser(String code);
	
	public WxCpMessageRouter getWxCpMessageRouter();
	
	public void setRequest(HttpServletRequest request) ;
	
	//public JSONObject SyncDepartFromWeiXin();

	public DodemWxServer getWxCpServiceByPT(String province, String token);

	JSONObject SyncDepartFromWeiXin(DodemWxServer server);

	DodemWxCpUser getUser(DodemWxServer server, String code);

	JSONObject getappinfo(String province, String token);

	JSONObject syncAgentInfo();

	List<WxCpMyConfigStorage> getConfigByUserMobile(String mobile, String string, String string2);
	public WxCpUser getAvailableUser(String code);
	
 
//	public WxCpConfigStorage getbyPT(String province, String token);

	List<WxCpMyConfigStorage> getAllProvinceInfo(String corpid);

//	WxCpService getWxCpServiceByConfig(WxCpConfigStorage config);
}
